[INFO] fetching crate jjpr 0.15.0...
[INFO] testing jjpr-0.15.0 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate jjpr 0.15.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate jjpr 0.15.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate jjpr 0.15.0
[INFO] tweaked toml for crates.io crate jjpr 0.15.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate jjpr 0.15.0 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate jjpr 0.15.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ureq-proto v0.5.3
[INFO] [stderr]   Downloaded ctrlc v3.5.2
[INFO] [stderr]   Downloaded difflib v0.4.0
[INFO] [stderr]   Downloaded normalize-line-endings v0.3.0
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded clap_mangen v0.2.31
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded roff v0.2.2
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded tempfile v3.25.0
[INFO] [stderr]   Downloaded assert_cmd v2.1.2
[INFO] [stderr]   Downloaded dispatch2 v0.3.1
[INFO] [stderr]   Downloaded clap_complete v4.5.66
[INFO] [stderr]   Downloaded clap v4.5.58
[INFO] [stderr]   Downloaded insta v1.46.3
[INFO] [stderr]   Downloaded ureq v3.2.0
[INFO] [stderr]   Downloaded clap_builder v4.5.58
[INFO] [stderr]   Downloaded objc2 v0.6.4
[INFO] [stderr]   Downloaded nix v0.31.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c4dccd8746b858e12416d035a01f81be8d0bea74a9a04dc2c5a5cc72baa70b90
[INFO] running `Command { std: "docker" "start" "-a" "c4dccd8746b858e12416d035a01f81be8d0bea74a9a04dc2c5a5cc72baa70b90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c4dccd8746b858e12416d035a01f81be8d0bea74a9a04dc2c5a5cc72baa70b90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4dccd8746b858e12416d035a01f81be8d0bea74a9a04dc2c5a5cc72baa70b90", kill_on_drop: false }`
[INFO] [stdout] c4dccd8746b858e12416d035a01f81be8d0bea74a9a04dc2c5a5cc72baa70b90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8a23d4aa9705fbda04553aea73fc8bfaf6ad823a9354a4229906a0548760fbc3
[INFO] running `Command { std: "docker" "start" "-a" "8a23d4aa9705fbda04553aea73fc8bfaf6ad823a9354a4229906a0548760fbc3", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling clap_builder v4.5.58
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ureq-proto v0.5.3
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling clap v4.5.58
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ureq v3.2.0
[INFO] [stderr]    Compiling jjpr v0.15.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.02s
[INFO] running `Command { std: "docker" "inspect" "8a23d4aa9705fbda04553aea73fc8bfaf6ad823a9354a4229906a0548760fbc3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a23d4aa9705fbda04553aea73fc8bfaf6ad823a9354a4229906a0548760fbc3", kill_on_drop: false }`
[INFO] [stdout] 8a23d4aa9705fbda04553aea73fc8bfaf6ad823a9354a4229906a0548760fbc3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b17faf65f863681a0a9a41dbc70719f170e6ff19cbdff74ae8e9f9f8a37f677f
[INFO] running `Command { std: "docker" "start" "-a" "b17faf65f863681a0a9a41dbc70719f170e6ff19cbdff74ae8e9f9f8a37f677f", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling clap_builder v4.5.58
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling roff v0.2.2
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling insta v1.46.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap v4.5.58
[INFO] [stderr]    Compiling clap_mangen v0.2.31
[INFO] [stderr]    Compiling jjpr v0.15.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling clap_complete v4.5.66
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.60s
[INFO] running `Command { std: "docker" "inspect" "b17faf65f863681a0a9a41dbc70719f170e6ff19cbdff74ae8e9f9f8a37f677f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b17faf65f863681a0a9a41dbc70719f170e6ff19cbdff74ae8e9f9f8a37f677f", kill_on_drop: false }`
[INFO] [stdout] b17faf65f863681a0a9a41dbc70719f170e6ff19cbdff74ae8e9f9f8a37f677f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d6116675d12bebb6826d57e011fa54813da6c815c5f2ac727a8a292fa745c50f
[INFO] running `Command { std: "docker" "start" "-a" "d6116675d12bebb6826d57e011fa54813da6c815c5f2ac727a8a292fa745c50f", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/jjpr-bc104105d59ca6a8)
[INFO] [stdout] 
[INFO] [stdout] running 374 tests
[INFO] [stdout] test config::tests::test_defaults ... ok
[INFO] [stdout] test config::tests::test_config_path_falls_back_to_home ... ok
[INFO] [stdout] test config::tests::test_load_config_with_repo_no_repo ... ok
[INFO] [stdout] test config::tests::test_parse_forge_field ... ok
[INFO] [stdout] test config::tests::test_parse_forge_github ... ok
[INFO] [stdout] test config::tests::test_parse_empty_config ... ok
[INFO] [stdout] test config::tests::test_parse_forge_gitlab ... ok
[INFO] [stdout] test config::tests::test_parse_forge_token_env ... ok
[INFO] [stdout] test config::tests::test_parse_invalid_forge ... ok
[INFO] [stdout] test config::tests::test_parse_full_config ... ok
[INFO] [stdout] test config::tests::test_existing_configs_still_parse ... ok
[INFO] [stdout] test config::tests::test_parse_invalid_merge_method ... ok
[INFO] [stdout] test config::tests::test_parse_invalid_reconcile_strategy ... ok
[INFO] [stdout] test config::tests::test_parse_invalid_stack_nav ... ok
[INFO] [stdout] test config::tests::test_parse_invalid_toml ... ok
[INFO] [stdout] test config::tests::test_parse_partial_config ... ok
[INFO] [stdout] test config::tests::test_load_config_with_repo_missing_file ... ok
[INFO] [stdout] test config::tests::test_load_missing_file ... ok
[INFO] [stdout] test config::tests::test_load_invalid_file ... ok
[INFO] [stdout] test config::tests::test_parse_reconcile_strategy_merge ... ok
[INFO] [stdout] test config::tests::test_load_valid_file ... ok
[INFO] [stdout] test config::tests::test_parse_stack_nav_comment ... ok
[INFO] [stdout] test config::tests::test_parse_reconcile_strategy_rebase ... ok
[INFO] [stdout] test config::tests::test_parse_stack_nav_description ... ok
[INFO] [stdout] test config::tests::test_repo_config_parses ... ok
[INFO] [stdout] test config::tests::test_stack_nav_defaults_to_comment ... ok
[INFO] [stdout] test config::tests::test_repo_config_overrides_global ... ok
[INFO] [stdout] test config::tests::test_write_default_config_refuses_overwrite ... ok
[INFO] [stdout] test forge::comment::tests::test_backward_compat_missing_is_merged ... ok
[INFO] [stdout] test forge::comment::tests::test_bookmark_name_with_markdown_chars ... ok
[INFO] [stdout] test forge::comment::tests::test_description_nav_extract_section ... ok
[INFO] [stdout] test forge::comment::tests::test_description_nav_extract_section_missing ... ok
[INFO] [stdout] test forge::comment::tests::test_description_nav_preserves_description_sentinels ... ok
[INFO] [stdout] test config::tests::test_write_repo_config ... ok
[INFO] [stdout] test forge::comment::tests::test_description_nav_roundtrip ... ok
[INFO] [stdout] test forge::comment::tests::test_description_nav_splice_appends_when_absent ... ok
[INFO] [stdout] test forge::comment::tests::test_description_nav_splice_replaces_when_present ... ok
[INFO] [stdout] test forge::comment::tests::test_find_stack_comment_by_legacy_footer ... ok
[INFO] [stdout] test forge::comment::tests::test_find_stack_comment_by_sentinel ... ok
[INFO] [stdout] test forge::comment::tests::test_generate_comment_body_contains_footer ... ok
[INFO] [stdout] test forge::comment::tests::test_generate_comment_body_contains_sentinel ... ok
[INFO] [stdout] test forge::comment::tests::test_find_stack_comment_none ... ok
[INFO] [stdout] test config::tests::test_write_default_config ... ok
[INFO] [stdout] test forge::comment::tests::test_generate_comment_body_links_other_prs ... ok
[INFO] [stdout] test forge::comment::tests::test_generate_comment_body_marks_current_pr ... ok
[INFO] [stdout] test forge::comment::tests::test_generate_comment_body_shows_unlinked_bookmarks ... ok
[INFO] [stdout] test forge::comment::tests::test_merged_entry_renders_strikethrough ... ok
[INFO] [stdout] test forge::comment::tests::test_is_merged_roundtrips ... ok
[INFO] [stdout] test forge::comment::tests::test_new_comments_use_jjpr_data_prefix ... ok
[INFO] [stdout] test forge::comment::tests::test_generate_comment_body_excludes_default_branch ... ok
[INFO] [stdout] test forge::comment::tests::test_parse_comment_data_missing ... ok
[INFO] [stdout] test forge::comment::tests::test_parse_legacy_stacker_data ... ok
[INFO] [stdout] test forge::comment::tests::test_roundtrip_comment_data ... ok
[INFO] [stdout] test forge::forgejo::tests::test_ci_status_empty ... ok
[INFO] [stdout] test forge::forgejo::tests::test_ci_status_mapping ... ok
[INFO] [stdout] test forge::forgejo::tests::test_merge_method_do_field ... ok
[INFO] [stdout] test forge::forgejo::tests::test_mergeability_mapping ... ok
[INFO] [stdout] test forge::forgejo::tests::test_parse_comment ... ok
[INFO] [stdout] test forge::forgejo::tests::test_parse_comment_stack_marker ... ok
[INFO] [stdout] test forge::forgejo::tests::test_fork_filtered_by_build_pr_map ... ok
[INFO] [stdout] test forge::forgejo::tests::test_parse_pr_basic_fields ... ok
[INFO] [stdout] test forge::forgejo::tests::test_parse_pr_draft ... ok
[INFO] [stdout] test forge::forgejo::tests::test_parse_pr_fork_label ... ok
[INFO] [stdout] test forge::forgejo::tests::test_parse_pr_list ... ok
[INFO] [stdout] test forge::forgejo::tests::test_parse_pr_merged ... ok
[INFO] [stdout] test forge::forgejo::tests::test_parse_pr_same_repo_label ... ok
[INFO] [stdout] test forge::forgejo::tests::test_review_counting ... ok
[INFO] [stdout] test forge::forgejo::tests::test_review_skips_comment_state ... ok
[INFO] [stdout] test forge::github::tests::test_parse_checks_all_passing ... ok
[INFO] [stdout] test forge::github::tests::test_parse_checks_failure ... ok
[INFO] [stdout] test forge::github::tests::test_parse_checks_mixed_failure_wins ... ok
[INFO] [stdout] test forge::github::tests::test_parse_checks_neutral_passes ... ok
[INFO] [stdout] test forge::github::tests::test_parse_checks_none ... ok
[INFO] [stdout] test forge::github::tests::test_parse_checks_pending ... ok
[INFO] [stdout] test forge::github::tests::test_parse_checks_queued_is_pending ... ok
[INFO] [stdout] test forge::github::tests::test_parse_mergeability_dirty ... ok
[INFO] [stdout] test forge::github::tests::test_parse_mergeability_clean ... ok
[INFO] [stdout] test forge::github::tests::test_parse_pr_basic_fields ... ok
[INFO] [stdout] test forge::github::tests::test_parse_pr_draft ... ok
[INFO] [stdout] test forge::github::tests::test_parse_pr_merged ... ok
[INFO] [stdout] test forge::github::tests::test_parse_pr_null_requested_reviewers ... ok
[INFO] [stdout] test forge::github::tests::test_review_commented_does_not_override ... ok
[INFO] [stdout] test forge::github::tests::test_review_dismissed_clears_approval ... ok
[INFO] [stdout] test forge::github::tests::test_review_latest_state_wins ... ok
[INFO] [stdout] test forge::github::tests::test_review_multiple_reviewers ... ok
[INFO] [stdout] test forge::gitlab::tests::test_approvals_parsing ... ok
[INFO] [stdout] test forge::gitlab::tests::test_approvals_parsing_empty ... ok
[INFO] [stdout] test forge::github::tests::test_parse_pr_no_requested_reviewers ... ok
[INFO] [stdout] test forge::github::tests::test_parse_pr_requested_reviewers ... ok
[INFO] [stdout] test forge::gitlab::tests::test_encode_project_nested_groups ... ok
[INFO] [stdout] test forge::gitlab::tests::test_encode_project_simple ... ok
[INFO] [stdout] test forge::gitlab::tests::test_mergeability_missing_field ... ok
[INFO] [stdout] test forge::gitlab::tests::test_mergeability_status_mapping ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_mr_basic_fields ... ok
[INFO] [stdout] test forge::github::tests::test_review_pending_does_not_override ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_mr_draft ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_mr_extracts_reviewers ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_mr_fork_gets_label ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_mr_list ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_mr_merged ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_mr_no_reviewers ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_note_stack_comment ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_note_system_note_filtered ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_note_user_comment ... ok
[INFO] [stdout] test forge::gitlab::tests::test_pipeline_status_mapping ... ok
[INFO] [stdout] test forge::gitlab::tests::test_pipeline_status_none_when_empty ... ok
[INFO] [stdout] test forge::gitlab::tests::test_reviewer_state_all_approved ... ok
[INFO] [stdout] test forge::gitlab::tests::test_parse_mr_same_project_empty_label ... ok
[INFO] [stdout] test forge::gitlab::tests::test_reviewer_state_requested_changes ... ok
[INFO] [stdout] test forge::http::tests::test_auth_header_bearer ... ok
[INFO] [stdout] test forge::http::tests::test_auth_header_token ... ok
[INFO] [stdout] test forge::http::tests::test_extract_next_link_absent ... ok
[INFO] [stdout] test forge::http::tests::test_extract_next_link_no_header ... ok
[INFO] [stdout] test forge::http::tests::test_full_url_absolute_same_origin ... ok
[INFO] [stdout] test forge::http::tests::test_full_url_rejects_cross_origin ... ok
[INFO] [stdout] test forge::http::tests::test_extract_next_link_present ... ok
[INFO] [stdout] test forge::http::tests::test_auth_header_private_token ... ok
[INFO] [stdout] test forge::http::tests::test_same_origin_different_host ... ok
[INFO] [stdout] test forge::http::tests::test_full_url_relative ... ok
[INFO] [stdout] test forge::http::tests::test_same_origin_different_scheme ... ok
[INFO] [stdout] test forge::http::tests::test_same_origin_matching ... ok
[INFO] [stdout] test forge::http::tests::test_same_origin_with_port ... ok
[INFO] [stdout] test forge::http::tests::test_truncate_body_long ... ok
[INFO] [stdout] test forge::gitlab::tests::test_reviewer_state_empty_degrades ... ok
[INFO] [stdout] test forge::http::tests::test_truncate_body_short ... ok
[INFO] [stdout] test forge::http::tests::test_url_encode_hash ... ok
[INFO] [stdout] test forge::http::tests::test_url_encode_plain ... ok
[INFO] [stdout] test forge::http::tests::test_url_encode_slash ... ok
[INFO] [stdout] test forge::http::tests::test_url_encode_space ... ok
[INFO] [stdout] test forge::remote::tests::test_detect_forge_codeberg ... ok
[INFO] [stdout] test forge::remote::tests::test_detect_forge_github ... ok
[INFO] [stdout] test forge::remote::tests::test_detect_forge_gitlab ... ok
[INFO] [stdout] test forge::remote::tests::test_detect_forge_unknown ... ok
[INFO] [stdout] test forge::remote::tests::test_extract_host_preserves_https_port ... ok
[INFO] [stdout] test forge::remote::tests::test_extract_host_strips_ssh_port ... ok
[INFO] [stdout] test forge::remote::tests::test_find_forge_remotes_mixed ... ok
[INFO] [stdout] test forge::remote::tests::test_forgejo_rejects_github_url ... ok
[INFO] [stdout] test forge::remote::tests::test_gitlab_rejects_github_url ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_codeberg_https ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_codeberg_ssh ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_github_enterprise_subdomain ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_github_https_no_git_suffix ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_github_https_url ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_github_ssh_no_git_suffix ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_github_ssh_protocol_url ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_github_ssh_protocol_url_with_port ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_github_ssh_url ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_gitlab_enterprise_subdomain ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_gitlab_https ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_gitlab_nested_groups ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_gitlab_ssh ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_gitlab_ssh_protocol_url_with_port ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_url_as_forgejo_from_any_host ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_url_as_github_from_any_host ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_url_as_gitlab_uses_nested_groups ... ok
[INFO] [stdout] test forge::remote::tests::test_parse_url_as_invalid_url ... ok
[INFO] [stdout] test forge::remote::tests::test_reject_empty_url ... ok
[INFO] [stdout] test forge::remote::tests::test_reject_non_github_https ... ok
[INFO] [stdout] test forge::remote::tests::test_reject_non_github_ssh ... ok
[INFO] [stdout] test forge::remote::tests::test_resolve_remote_multiple_no_preference ... ok
[INFO] [stdout] test forge::remote::tests::test_resolve_remote_no_forge ... ok
[INFO] [stdout] test forge::tests::test_build_pr_map_accepts_empty_label ... ok
[INFO] [stdout] test forge::tests::test_build_pr_map_empty_input ... ok
[INFO] [stdout] test forge::tests::test_build_pr_map_accepts_label_without_owner_prefix ... ok
[INFO] [stdout] test forge::tests::test_build_pr_map_filters_forks ... ok
[INFO] [stdout] test forge::remote::tests::test_resolve_remote_preferred ... ok
[INFO] [stdout] test forge::remote::tests::test_resolve_remote_single ... ok
[INFO] [stdout] test forge::tests::test_forge_kind_vocabulary ... ok
[INFO] [stdout] test forge::token::tests::test_default_env_vars_forgejo ... ok
[INFO] [stdout] test forge::token::tests::test_cli_fallback_forgejo_returns_none ... ok
[INFO] [stdout] test forge::token::tests::test_default_env_vars_gitlab ... ok
[INFO] [stdout] test forge::token::tests::test_resolve_token_error_mentions_custom_env ... ok
[INFO] [stdout] test graph::change_graph::tests::test_bookmark_above_merge_included ... ok
[INFO] [stdout] test graph::change_graph::tests::test_empty_repo ... ok
[INFO] [stdout] test graph::change_graph::tests::test_merge_commit_included_in_stack ... ok
[INFO] [stdout] test graph::change_graph::tests::test_merge_source_names_on_segment ... ok
[INFO] [stdout] test graph::change_graph::tests::test_multi_bookmark_stack ... ok
[INFO] [stdout] test graph::change_graph::tests::test_merge_skipped_arm_forms_own_stack ... ok
[INFO] [stdout] test graph::change_graph::tests::test_diamond_merge_included_in_stack ... ok
[INFO] [stdout] test forge::token::tests::test_default_env_vars_github ... ok
[INFO] [stdout] test graph::change_graph::tests::test_stack_with_foreign_base ... ok
[INFO] [stdout] test graph::change_graph::tests::test_multi_segment_stack_with_foreign_base ... ok
[INFO] [stdout] test graph::change_graph::tests::test_stack_without_foreign_base ... ok
[INFO] [stdout] test graph::change_graph::tests::test_two_independent_stacks ... ok
[INFO] [stdout] test graph::traversal::tests::test_consecutive_unbookmarked_merges_accumulate ... ok
[INFO] [stdout] test graph::traversal::tests::test_empty_traversal ... ok
[INFO] [stdout] test graph::change_graph::tests::test_single_bookmark_linear_stack ... ok
[INFO] [stdout] test graph::traversal::tests::test_foreign_base_flushes_pending_segment ... ok
[INFO] [stdout] test graph::traversal::tests::test_foreign_remote_bookmark_stops_traversal ... ok
[INFO] [stdout] test graph::traversal::tests::test_git_remote_ignored ... ok
[INFO] [stdout] test graph::traversal::tests::test_merge_commit_followed_through ... ok
[INFO] [stdout] test graph::traversal::tests::test_merge_skipped_entries_not_in_seen ... ok
[INFO] [stdout] test graph::traversal::tests::test_merge_source_names_fallback_to_commit_id ... ok
[INFO] [stdout] test graph::traversal::tests::test_merge_with_three_parents ... ok
[INFO] [stdout] test graph::traversal::tests::test_nested_merge ... ok
[INFO] [stdout] test graph::traversal::tests::test_own_remote_bookmark_continues ... ok
[INFO] [stdout] test graph::traversal::tests::test_single_bookmarked_change ... ok
[INFO] [stdout] test graph::traversal::tests::test_stops_at_fully_collected ... ok
[INFO] [stdout] test graph::traversal::tests::test_unbookmarked_merge_before_bookmarked ... ok
[INFO] [stdout] test jj::runner::tests::test_get_git_remotes_empty ... ok
[INFO] [stdout] test jj::runner::tests::test_get_my_bookmarks_with_bookmark ... ok
[INFO] [stdout] test jj::runner::tests::test_get_my_bookmarks_empty_repo ... ok
[INFO] [stdout] test jj::runner::tests::test_jj_runner_rejects_non_repo ... ok
[INFO] [stdout] test graph::traversal::tests::test_merge_source_names_resolved ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_bookmark_conflicted_skipped ... ok
[INFO] [stdout] test jj::runner::tests::test_repo_path ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_bookmark_divergent_filters_remote_entry ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_bookmark_empty_output ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_bookmark_multiple ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_bookmark_no_remote ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_bookmark_with_git_remote_only ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_bookmark_with_synced_remote ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_log_conflicted_commit ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_log_empty_output ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_log_entry ... ok
[INFO] [stdout] test jj::templates::tests::test_extract_name_from_malformed_json ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_log_merge_commit ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_log_multiple_entries ... ok
[INFO] [stdout] test jj::templates::tests::test_parse_log_working_copy ... ok
[INFO] [stdout] test merge::execute::tests::test_already_merged_skipped ... ok
[INFO] [stdout] test merge::execute::tests::test_block_reason_is_transient ... ok
[INFO] [stdout] test merge::execute::tests::test_blocked_stops_execution ... ok
[INFO] [stdout] test merge::execute::tests::test_degraded_skips_subsequent_local_ops ... ok
[INFO] [stdout] test merge::execute::tests::test_divergent_change_id_detected ... ok
[INFO] [stdout] test merge::execute::tests::test_dry_run_no_api_calls ... ok
[INFO] [stdout] test merge::execute::tests::test_forge_retarget_still_runs_when_degraded ... ok
[INFO] [stdout] test merge::execute::tests::test_format_block_reasons_github ... ok
[INFO] [stdout] test merge::execute::tests::test_format_block_reasons_gitlab ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_conflict_detected_skips_push ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_failure_reports_error ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_failure_skips_push_for_failed_bookmark ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_no_retry_on_400 ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_with_stack_base_retargets_to_base ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_with_remaining_stack ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_strategy_syncs_all_remaining_segments ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_strategy_calls_merge_into ... ok
[INFO] [stdout] test merge::execute::tests::test_multi_merge_chain ... ok
[INFO] [stdout] test merge::execute::tests::test_no_retarget_when_base_already_correct ... ok
[INFO] [stdout] test merge::execute::tests::test_push_failure_continues_merging ... ok
[INFO] [stdout] test merge::execute::tests::test_push_uses_plan_remote_name ... ok
[INFO] [stdout] test merge::execute::tests::test_rebase_strategy_does_not_call_merge_into ... ok
[INFO] [stdout] test merge::execute::tests::test_rebase_failure_continues_merging ... ok
[INFO] [stdout] test merge::execute::tests::test_rebase_uses_oldest_commit_in_segment ... ok
[INFO] [stdout] test merge::execute::tests::test_recheck_after_merge_detects_pending_ci ... ok
[INFO] [stdout] test merge::execute::tests::test_recheck_after_merge_discovers_concurrent_merge ... ok
[INFO] [stdout] test merge::execute::tests::test_reconciles_after_already_merged ... ok
[INFO] [stdout] test merge::execute::tests::test_single_merge ... ok
[INFO] [stdout] test merge::execute::tests::test_stale_plan_does_not_merge_when_ci_now_failing ... ok
[INFO] [stdout] test merge::execute::tests::test_three_segment_merge_chain ... ok
[INFO] [stdout] test merge::plan::tests::test_all_mergeable ... ok
[INFO] [stdout] test merge::plan::tests::test_already_merged_then_mergeable ... ok
[INFO] [stdout] test merge::plan::tests::test_api_error_blocks_ci_check ... ok
[INFO] [stdout] test merge::plan::tests::test_api_error_blocks_mergeability ... ok
[INFO] [stdout] test merge::plan::tests::test_api_error_blocks_reviews ... ok
[INFO] [stdout] test merge::plan::tests::test_api_error_with_zero_approvals_does_not_block ... ok
[INFO] [stdout] test merge::plan::tests::test_blocked_by_changes_requested ... ok
[INFO] [stdout] test merge::plan::tests::test_blocked_by_conflict ... ok
[INFO] [stdout] test merge::plan::tests::test_blocked_by_draft ... ok
[INFO] [stdout] test merge::plan::tests::test_blocked_by_failing_ci ... ok
[INFO] [stdout] test merge::plan::tests::test_blocked_by_insufficient_approvals ... ok
[INFO] [stdout] test merge::plan::tests::test_blocked_by_pending_ci ... ok
[INFO] [stdout] test merge::plan::tests::test_blocked_by_unknown_mergeability ... ok
[INFO] [stdout] test merge::plan::tests::test_blocked_stops_evaluation ... ok
[INFO] [stdout] test merge::plan::tests::test_ci_not_checked_when_disabled ... ok
[INFO] [stdout] test merge::plan::tests::test_find_merged_pr_error_propagates ... ok
[INFO] [stdout] test merge::plan::tests::test_multiple_block_reasons_collected ... ok
[INFO] [stdout] test merge::plan::tests::test_no_checks_allowed_when_ci_not_required ... ok
[INFO] [stdout] test merge::plan::tests::test_no_checks_blocks_when_ci_required ... ok
[INFO] [stdout] test merge::plan::tests::test_no_pr_blocks ... ok
[INFO] [stdout] test merge::plan::tests::test_three_segment_all_mergeable ... ok
[INFO] [stdout] test merge::watch::tests::test_report_status_changes_first_time ... ok
[INFO] [stdout] test merge::watch::tests::test_report_status_changes_no_change ... ok
[INFO] [stdout] test merge::watch::tests::test_report_status_changes_reason_resolved ... ok
[INFO] [stdout] test merge::watch::tests::test_watch_continues_across_segments ... ok
[INFO] [stdout] test merge::watch::tests::test_watch_gives_up_after_max_errors ... ok
[INFO] [stdout] test merge::watch::tests::test_watch_merges_immediately_when_ready ... ok
[INFO] [stdout] test merge::watch::tests::test_watch_reconciles_after_already_merged ... ok
[INFO] [stdout] test merge::watch::tests::test_watch_respects_shutdown_flag ... ok
[INFO] [stdout] test merge::watch::tests::test_watch_respects_timeout ... ok
[INFO] [stdout] test merge::watch::tests::test_watch_stops_at_nopr ... ok
[INFO] [stdout] test merge::watch::tests::test_watch_waits_then_merges ... ok
[INFO] [stdout] test submit::analyze::tests::test_analyze_finds_target_segment ... ok
[INFO] [stdout] test submit::analyze::tests::test_analyze_includes_all_downstack ... ok
[INFO] [stdout] test submit::analyze::tests::test_analyze_no_base_branch_when_none ... ok
[INFO] [stdout] test submit::analyze::tests::test_analyze_propagates_base_branch ... ok
[INFO] [stdout] test submit::analyze::tests::test_analyze_single_bookmark ... ok
[INFO] [stdout] test submit::analyze::tests::test_analyze_unknown_bookmark ... ok
[INFO] [stdout] test submit::analyze::tests::test_infer_bookmark_empty_graph ... ok
[INFO] [stdout] test submit::analyze::tests::test_infer_bookmark_no_bookmarks ... ok
[INFO] [stdout] test submit::analyze::tests::test_infer_bookmark_wc_above_bookmarks ... ok
[INFO] [stdout] test submit::analyze::tests::test_infer_bookmark_wc_at_bookmark ... ok
[INFO] [stdout] test submit::execute::tests::test_create_pr_as_draft ... ok
[INFO] [stdout] test submit::execute::tests::test_creates_pr_with_correct_base ... ok
[INFO] [stdout] test submit::execute::tests::test_dry_run_skips_body_update ... ok
[INFO] [stdout] test submit::execute::tests::test_execute_updates_pr_body ... ok
[INFO] [stdout] test submit::execute::tests::test_has_actions_empty_plan ... ok
[INFO] [stdout] test submit::execute::tests::test_has_actions_with_push ... ok
[INFO] [stdout] test submit::execute::tests::test_dry_run_skips_reviewer_requests_on_existing ... ok
[INFO] [stdout] test submit::execute::tests::test_dry_run_produces_no_side_effects ... ok
[INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_current_takes_precedence ... ok
[INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_appends_new ... ok
[INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_empty_previous ... ok
[INFO] [stdout] test submit::execute::tests::test_comment_failure_does_not_abort ... ok
[INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_preserves_removed ... ok
[INFO] [stdout] test submit::execute::tests::test_merged_pr_links_preserved_in_stack_comments ... ok
[INFO] [stdout] test submit::execute::tests::test_no_reviewers_when_list_empty ... ok
[INFO] [stdout] test submit::execute::tests::test_noop_plan_succeeds_without_api_calls ... ok
[INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_no_change ... ok
[INFO] [stdout] test submit::execute::tests::test_ready_converts_draft_prs ... ok
[INFO] [stdout] test submit::execute::tests::test_requests_reviewers_on_existing_prs ... ok
[INFO] [stdout] test submit::execute::tests::test_requests_reviewers_on_new_prs ... ok
[INFO] [stdout] test submit::execute::tests::test_partial_failure_reports_completed_actions ... ok
[INFO] [stdout] test submit::execute::tests::test_single_pr_skips_stack_comment ... ok
[INFO] [stdout] test submit::execute::tests::test_skips_already_requested_reviewers ... ok
[INFO] [stdout] test submit::execute::tests::test_skips_reviewer_case_insensitive ... ok
[INFO] [stdout] test submit::execute::tests::test_skips_reviewer_request_when_all_already_requested ... ok
[INFO] [stdout] test submit::execute::tests::test_stack_comment_excludes_default_branch ... ok
[INFO] [stdout] test submit::execute::tests::test_title_drift_escapes_single_quotes ... ok
[INFO] [stdout] test submit::execute::tests::test_title_drift_shell_metacharacters ... ok
[INFO] [stdout] test submit::execute::tests::test_two_prs_creates_stack_comments ... ok
[INFO] [stdout] test submit::execute::tests::test_updates_existing_stack_comment ... ok
[INFO] [stdout] test submit::plan::tests::test_extract_managed_body ... ok
[INFO] [stdout] test submit::plan::tests::test_extract_managed_body_no_markers ... ok
[INFO] [stdout] test submit::plan::tests::test_extract_managed_body_only_start_marker ... ok
[INFO] [stdout] test submit::execute::tests::test_updates_pr_base ... ok
[INFO] [stdout] test submit::plan::tests::test_generate_merge_note_single ... ok
[INFO] [stdout] test submit::plan::tests::test_generate_merge_note_two ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_accepts_prs_with_empty_label ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_detects_stale_managed_body ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_detects_title_drift ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_does_not_skip_closed_but_unmerged_prs ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_error_context_on_list_failure ... ok
[INFO] [stdout] test submit::plan::tests::test_extract_managed_body_with_surrounding_content ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_existing_pr_correct_base ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_falls_back_to_default_branch ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_filters_fork_prs ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_identifies_draft_prs_for_ready ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_merge_note_three_parents ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_merge_note_in_pr_body ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_existing_pr_wrong_base ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_merged_bookmark_not_pushed ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_new_pr_needed ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_no_merge_note_for_linear ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_no_title_drift_for_multi_commit_segment ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_no_title_drift_when_title_matches ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_no_update_when_sentinels_removed ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_preserves_user_content_around_sentinels ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_no_reviewers_tracked_when_empty ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_skips_merged_prs ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_stacked_base_branches ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_stale_title_does_not_trigger_body_update ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_tracks_reviewers_for_existing_prs ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_uses_stack_base_for_first_pr ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_warns_on_merged_check_failure ... ok
[INFO] [stdout] test submit::plan::tests::test_replace_managed_body_no_markers ... ok
[INFO] [stdout] test submit::plan::tests::test_replace_managed_body_preserves_surroundings ... ok
[INFO] [stdout] test submit::resolve::tests::test_empty_bookmarks_errors ... ok
[INFO] [stdout] test submit::plan::tests::test_plan_no_update_when_managed_body_matches ... ok
[INFO] [stdout] test submit::plan::tests::test_wrap_managed_body ... ok
[INFO] [stdout] test submit::resolve::tests::test_multiple_bookmarks_non_interactive_takes_first ... ok
[INFO] [stdout] test submit::resolve::tests::test_single_bookmark_per_segment ... ok
[INFO] [stdout] test watch::tests::test_no_promote_when_ci_failing ... ok
[INFO] [stdout] test watch::tests::test_no_promote_when_ci_pending ... ok
[INFO] [stdout] test watch::tests::test_no_promote_when_no_ci_checks ... ok
[INFO] [stdout] test watch::tests::test_no_promote_when_not_draft ... ok
[INFO] [stdout] test watch::tests::test_promote_draft_when_ci_passes ... ok
[INFO] [stdout] test watch::tests::test_promote_multiple_drafts_in_stack ... ok
[INFO] [stdout] test watch::tests::test_reviewer_hint_not_shown_for_non_approval_blocks ... ok
[INFO] [stdout] test watch::tests::test_reviewer_hint_not_shown_when_reviewers_present ... ok
[INFO] [stdout] test submit::resolve::tests::test_merge_source_names_propagated ... ok
[INFO] [stdout] test watch::tests::test_reviewer_hint_shown_when_no_reviewers ... ok
[INFO] [stdout] test watch::tests::test_reviewer_hint_not_shown_when_no_pr ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_retry_on_502_then_verified_merged ... ok
[INFO] [stdout] test merge::execute::tests::test_merge_retry_on_405_already_in_progress_verified_merged ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 374 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/jjpr-a2ff150d23714b26)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-76283a747aa596ef)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test test_auth_test_forgejo_uses_custom_token_env ... ok
[INFO] [stdout] test test_auth_help ... ok
[INFO] [stdout] test test_auth_setup_help ... ok
[INFO] [stdout] test test_auth_test_help ... ok
[INFO] [stdout] test test_config_init_help ... ok
[INFO] [stdout] test test_merge_base_flag_in_help ... ok
[INFO] [stdout] test test_submit_help_shows_no_fetch ... ok
[INFO] [stdout] test test_draft_and_ready_conflict ... ok
[INFO] [stdout] test test_submit_forgejo_default_token_env_in_error ... ok
[INFO] [stdout] test test_help_shows_merge_command ... ok
[INFO] [stdout] test test_version ... ok
[INFO] [stdout] test test_help_shows_usage ... ok
[INFO] [stdout] test test_version_short ... ok
[INFO] [stdout] test test_help_shows_no_fetch ... ok
[INFO] [stdout] test test_submit_base_flag_in_help ... ok
[INFO] [stdout] test test_submit_forgejo_custom_token_env_in_error ... ok
[INFO] [stdout] test test_merge_help ... ok
[INFO] [stdout] test test_submit_help ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-2c211975b96c5f17)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_submit_creates_stacked_prs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/jj_integration.rs (/opt/rustwide/target/debug/deps/jj_integration-e073768a8aab0eef)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_real_jj_bookmark_parsing ... ok
[INFO] [stdout] test test_infer_bookmark_from_working_copy ... ok
[INFO] [stdout] test test_push_after_squash ... ok
[INFO] [stdout] test test_real_jj_graph_linear_stack ... ok
[INFO] [stdout] test test_real_jj_default_branch ... ok
[INFO] [stdout] test test_real_jj_log_parsing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests jjpr
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d6116675d12bebb6826d57e011fa54813da6c815c5f2ac727a8a292fa745c50f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6116675d12bebb6826d57e011fa54813da6c815c5f2ac727a8a292fa745c50f", kill_on_drop: false }`
[INFO] [stdout] d6116675d12bebb6826d57e011fa54813da6c815c5f2ac727a8a292fa745c50f
